[tool.poetry]
name = "thorx-pybullet"
version = "0.1.0"
description = ""
authors = ["Vladimir Valeyev <ValV@users.noreply.github.com>"]
license = "MIT"
readme = "README.md"
package-mode = false

[tool.poetry.dependencies]
python = "^3.11"
cloudpickle = "3.0.0"
farama-notifications = "0.0.4"
gymnasium = "0.28.1"
numpy = "1.26.4"
pybullet = "3.2.6"
typing-extensions = "4.11.0"
ray = {version = "<2.11", extras = ["rllib"]}
torch = {version = "^2.3.0+cpu", source = "pytorch_cpu"}
torchvision = {version = "^0.18.0+cpu", source = "pytorch_cpu"}
opencv-contrib-python-headless = "^4.9.0.80"


[[tool.poetry.source]]
name = "pytorch_cpu"
url = "https://download.pytorch.org/whl/cpu"
priority = "explicit"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.ruff]

line-length = 80

[tool.ruff.lint]
# 1. Enable flake8-bugbear (`B`) rules, in addition to the defaults.
select = ["E4", "E7", "E9", "F", "B"]

# 2. Avoid enforcing line-length violations (`E501`)
ignore = ["E501"]

# 3. Avoid trying to fix flake8-bugbear (`B`) violations.
unfixable = ["B"]

# 4. Ignore `E402` (import violations) in all `__init__.py` files, and in select subdirectories.
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["E402"]
"**/{tests,docs,tools}/*" = ["E402"]

[tool.ruff.format]
# 5. Use single quotes for non-triple-quoted strings.
quote-style = "preserve"
